package com.park.client.service.article;

import java.util.List;
import java.util.Map;

import com.park.client.model.SearchText;
import com.park.client.model.article.ArticleModel;
import com.park.client.service.base.BaseService;
import com.park.client.vo.ArticleVo;
import com.park.common.util.Result;

public interface ArticleService extends BaseService<ArticleModel>{
	
	 List<ArticleModel> selectRecommenRecord();
	
	  Integer updateClickRate(Long id);

	  List<ArticleModel> listRelationUser(ArticleModel article);
	  
	  Integer updateComment(Map<String,Object> map);
	  
	  List<ArticleModel> selectByCategoryType(Long categoryId);
	  
	  Integer  selectByCategoryListTotal(Long categoryType);
	  
	  List<ArticleVo> selectByCategoryList(ArticleVo articleVo);
	  
	  List<ArticleVo> selectByType(ArticleVo articleVo);
	  
	  Integer  selectByTypeTotal(Long articleTypeId);
	  
	  boolean putToRecycle(Long id);
	
	  boolean setToDraft(Long id);
	  
	  boolean recoverFromRecycle(Long id);
	  
	  List<ArticleModel> selectByStatus(ArticleModel article);
	  
	  Integer selectByStatusTotal(ArticleModel article);
	  
	  List<ArticleModel> selectOtherInterested(List<String> list);
	  
	  Result<Boolean> updateReview(List<ArticleModel> records);
	  
	  List<ArticleVo> selectNewArticleComment();
	  
	  List<ArticleVo> selectByArticleId(Long articleId);
	  
	  Integer selectTotal(ArticleVo t);
	  
	  List<ArticleVo> selectPagination(ArticleVo t);
	  
	  
	  List<ArticleModel> selectNewArticle();
	  
	  List<ArticleModel> selectHotCommentArticle();
	  
	  ArticleModel selectPreArticle(ArticleModel record);
		
	  ArticleModel selectNextArticle(ArticleModel record);
	  
	 void saveOrUpdate(ArticleModel record);
		
	 void batchUpdateStatus(List<ArticleModel> list);
	 
	 void saveArticleFromCSDN();
	 
	 List<SearchText> querySearchList(SearchText searchText);
	 
	 Integer querySearchListTotal(SearchText searchText);
}
